﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace AutomationTools.Procedimentos.Leitura
{
    /// <summary>
    /// Efetua a leitura do texto de um arquivo, encoding padrão "ISO-8859-1".
    /// Recebe:     -
    /// Retorna:    string - Texto lido do arquivo.
    /// </summary>
    public class Arquivo : IProcedimento
    {
        private string filePath;

        /// <summary>
        /// Efetua a leitura do texto de um arquivo, encoding padrão "ISO-8859-1".
        /// </summary>
        /// <param name="filePath">Caminho do arquivo a ser lido</param>
        public Arquivo(string filePath)
        {
            this.filePath = filePath;
            this.Encoding = Encoding.GetEncoding("ISO-8859-1");
        }

        /// <summary>
        /// Encoding a ser utilizado na leitura do arquivo
        /// </summary>
        public Encoding Encoding { get; set; }

        public object Executar(IContexto contexto)
        {
            return File.ReadAllText(filePath, Encoding);
        }

        public void ValidarEntrada(IContexto contexto)
        {
            throw new NotImplementedException();
        }
    }
}
